package com.alibaba.cloud.base;

/**
 * @author: zhb
 * @date: 2017年12月23日 下午4:37:55
 * @Description: 通用接口
 */
public interface JpaGeneralService<T> {

    /**
     * @Title: findById
     * @Description: 根据主键ID查询
     * @return: T
     * @author: zhb
     */
    T findById(Long id);

    /**
     * Save.
     *
     * @param model the model
     * @return the t
     * @Title: save
     * @Description: 添加操作
     * @return: void
     * @author: zhb
     */
    T save(T model);

    /**
     * Save or update.
     *
     * @param model the model
     * @return the t
     * @methodName: saveOrUpdate
     * @Description: 保存或者更新
     * @author: zhb zhb1316783262@163.com
     * @date: 2018年3月27日 上午11:49:35
     * @return: int
     */
    T saveOrUpdate(T model);

    /**
     * Update.
     *
     * @param model the model
     * @return the t
     * @Title: update
     * @Description: 更新操作
     * @return: void
     * @author: zhb
     */
    T update(T model);

    /**
     * @Title: delete
     * @Description:删除根据Id
     * @return: void
     * @author: zhb
     */
    void delete(Long id);
}
